/**
 * Copyright (c) 2002-2011 旭鸣信息
 * All rights reserved. 
 * File：IArticlesDao.java
 * History:
 *       May 11, 2012: Initially created, liuzhi.
 */
package com.xteam.ecsystem.dao;

import java.util.List;
import java.util.Map;

import com.xteam.ecsystem.base.SystemContent;
import com.xteam.ecsystem.utils.PageCenterStation;

/**
 * 文章数据访问接口
 * 
 * @author liuzhi
 *
 */
public interface IArticlesDao {

	/**
	 * 
	 * 新增或者修改文章信息
	 * @author liuzhi
	 * @param obj
	 * @param id
	 */
	public void saveOrUpdateObject(Object obj, String baiId);
	
	/**
	 * 
	 * 条件查询和分页显示文章信息
	 * @author liuzhi
	 * @param pageIndex
	 * @param pageSize
	 * @param baiTitle
	 * @param baiGroup
	 * @param baiTime
	 * @param baiState
	 * @return
	 */
	public String getBaiList(int pageIndex, int pageSize,
			String baiTitle, String baiGroup, String baiState);

	/**
	 * 
	 * 删除单条或多条文章信息
	 * @author liuzhi
	 * @param baiIds
	 */
	public void delObject(String baiIds);
	
	/**
	 * 根据文章编号获得对应的文章信息
	 * @author liuzhi
	 * @param baiId
	 * @return
	 */
	public String getBaiById(String baiId);
	
	/**
	 * 
	 * 根据文章编号修改文章状态
	 * 0：无效
	 * 1：有效
	 * @author liuzhi
	 * @param baiId
	 */
	public void updateBaiStateById(String baiId);
	
	/**
	 * 根据id删除文章图标
	 * @author liuzhi
	 * @param baiId
	 */
	public void delBaiImageById(String baiId);
	
	/**
	 * 根据传递条件（add/query），加载文章分类treeselect
	 * @author liuzhi
	 * @param type
	 * @return
	 */
	public String getBagTreeSelect(String type);
	
	/**
	 * 验证是否有相同的文件名称
	 * @author liuzhi
	 * @param baiAttachname
	 * @param baiId
	 * @return
	 */
	public String getBaiByAttachname(String baiAttachname, String baiId);
	
	/**
	 * 获取指定状态的系统内容。
	 * @author Chrise 2012-6-29
	 * @param state
	 * @param value
	 * @param text
	 * @param parent
	 * @return
	 */
	public List<Map<String, String>> getSystemContent(int state, String value, String text, String parent);
	
	/**
	 * 获取指定状态的系统内容（名称使用模糊查询）。
	 * @author Chrise 2012-6-29
	 * @param name
	 * @param state
	 * @param first
	 * @param max
	 * @return
	 */
	public PageCenterStation<SystemContent> getSystemContents(String name, int state, int first, int max);
}
